﻿Imports BUS
Imports DTO
Public Class UserControlCapNhatPhieuRutTien
    Dim prtDTO As New PhieuRutTienDTO()
    Private Sub btnChon_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnChon.Click
        Dim maphieurut As Integer
        If Integer.TryParse(txtMaPhieuRut.Text, maphieurut) = False Or maphieurut <= 0 Then
            MessageBox.Show("Mã phiếu rút không hợp lệ!")
            txtMaPhieuRut.Focus()
            Return
        End If
        prtDTO.MaPhieuRut = maphieurut
        cbbMaSo.Enabled = True
        txtSoTienRut.Enabled = True
        dtpNgayRut.Enabled = True
        btnCapNhat.Enabled = True

        Dim dt As New DataTable()
        Dim prtBUS As New PhieuRutTienBUS()
        dt = prtBUS.LayThongTinPhieuRutTien(maphieurut)
        If dt.Rows.Count <= 0 Then
            MessageBox.Show("Mã phiếu rút không tồn tại, vui lòng nhập lại!")
            txtMaPhieuRut.Focus()
            cbbMaSo.Enabled = False
            txtSoTienRut.Enabled = False
            dtpNgayRut.Enabled = False
            btnCapNhat.Enabled = False
            Return
        End If
        cbbMaSo.Text = dt.Rows(0)("MaSo").ToString()
        dtpNgayRut.Value = dt.Rows(0)("NgayRut")
        txtSoTienRut.Text = dt.Rows(0)("SoTienRut").ToString()
        txtKhachHang.Text = dt.Rows(0)("TenKhachHang")
    End Sub

    Private Sub UserControlCapNhatPhieuRutTien_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim dsSTK As New List(Of SoTietKiemDTO)()
        Dim stkBUS As New SoTietKiemBUS()
        dsSTK = stkBUS.LaySoTietKiem()
        cbbMaSo.DataSource = dsSTK
        cbbMaSo.DisplayMember = "MaSo"
        cbbMaSo.ValueMember = "MaSo"
    End Sub

    Private Sub btnCapNhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapNhat.Click
        Dim sotienrut As Double
        If Double.TryParse(txtSoTienRut.Text, sotienrut) = False Or sotienrut <= 0 Then
            MessageBox.Show("Số tiền rút không hợp lệ!")
            txtSoTienRut.Focus()
            Return
        End If

        prtDTO.MaSo = cbbMaSo.SelectedValue
        Dim stkBUS As New SoTietKiemBUS()
        Dim sodutk As Double = stkBUS.LaySoDuTaiKhoan(prtDTO.MaSo)

        prtDTO.NgayRut = dtpNgayRut.Value
        prtDTO.SoTienRut = sotienrut
        If sotienrut > sodutk Then
            MessageBox.Show("Số tiền rút lơn hơn số dư trong tài khoản")
            Return
        End If
        Try
            Dim prtBUS As New PhieuRutTienBUS()
            Dim kq As Integer = prtBUS.CapNhatPhieuRutTien(prtDTO)
            If kq = 1 Then
                MessageBox.Show("Cập nhật thành công")
                Return
            Else
                MessageBox.Show("Cập nhật thất bại!")
                Return
            End If
        Catch ex As Exception
            MessageBox.Show("Cập nhật thất bại!")
            Return
        End Try
    End Sub
End Class
